#include "HardwareProfile.h"
#include <stdio.h>
void Display_Init(void)
{
#ifdef Proteus
	Max7221_Init();	
	Display_WriteData(0x09,0x00);   
	Display_WriteData(0x0a,0x07); 
	Display_WriteData(0x0b,0x05); 
	Display_WriteData(0x0c,0x01);	
#else
	HT162X_Init();
	HT162X_Setting(0b00101001);
	HT162X_Setting(HT162X_SYS_EN);
	HT162X_Setting(HT162X_LCD_ON);
#endif	
	//ledFlags.AllFlag=0xff;
	Display_WriteData(Display_LEDAddr[0],Display_LEDNumCode[8]); 
	Display_WriteData(Display_LEDAddr[1],Display_LEDNumCode[8]);
	Display_WriteData(Display_LEDAddr[2],Display_LEDNumCode[8]);
	Display_WriteData(Display_LEDAddr[3],Display_LEDNumCode[8]);
	Display_WriteData(Display_LEDAddr[4],Display_LEDNumCode[8]);
	Display_WriteData(Display_LEDAddr[5],Display_LEDNumCode[8]);
}
#ifdef Proteus
void Display_Sleep(void)
{
	Display_WriteData(Display_LEDAddr[0],Display_LEDNumCode[1]); 
	Display_WriteData(Display_LEDAddr[1],Display_LEDNumCode[2]);
	Display_WriteData(Display_LEDAddr[2],Display_LEDNumCode[3]);
	Display_WriteData(Display_LEDAddr[3],Display_LEDNumCode[4]);
	Display_WriteData(Display_LEDAddr[4],Display_LEDNumCode[5]);
	Display_WriteData(Display_LEDAddr[5],Display_LEDNumCode[6]);
	while(1)
	{
		CLRWDT(); 
		if(!KeyIO)
			break;
		if(gFlags.bWirelessRx)
			break;
	}
}
#endif
void Display_ShowPage(void)
{
// 	unsigned char DisplayLine[17],i;
// 	sprintf(DisplayLine,"%03d",BattV);
// 	for(i=0;i<3;i++)
// 	{
// 		Display_WriteData(Display_LEDAddr[i],Display_LEDNumCode[DisplayLine[i]-'0']);
// 	}
// 	return;
	//Display_WriteData(Display_LEDAddr[0],Display_LEDNumCode[AlarmListIndex+1]); 
	Display_WriteData(Display_LEDAddr[0],Display_LED_Off);//Display_LEDNumCode[Display_LEDNumCode_Off]); 
	Display_WriteData(Display_LEDAddr[1],Display_LEDNumCode[AlarmList[AlarmListIndex].RoomIndex /10]);
	Display_WriteData(Display_LEDAddr[2],Display_LEDNumCode[AlarmList[AlarmListIndex].RoomIndex %10]);
	Display_WriteData(Display_LEDAddr[3],Display_LEDNumCode[16]);
	Display_WriteData(Display_LEDAddr[4],Display_LEDNumCode[AlarmList[AlarmListIndex].DripFrameIndex/10]);
	Display_WriteData(Display_LEDAddr[5],Display_LEDNumCode[AlarmList[AlarmListIndex].DripFrameIndex%10]);
}
void HT162X_ShowNum(unsigned char addr,unsigned char num)
{
	unsigned char i,a;
	switch(addr)
	{
	case 0:
		if(ledFlags.bX3)
			num=num|0x01;
		break;
	case 1:
		if(ledFlags.bX2)
			num=num|0x01;
		break;
	case 2:
		if(ledFlags.bX1)
			num=num|0x01;
		break;
	case 3:
		if(ledFlags.bDP4)
			num=num|0x01;
		break;
	case 4:
		if(ledFlags.bDP5)
			num=num|0x01;
		break;
	case 5:
		if(ledFlags.bDP6)
			num=num|0x01;
		break;
	}
	a=addr<<1;
	HT162X_WriteData(a,HIGH_NIBBLE(num));
	a++;
	HT162X_WriteData(a,LOW_NIBBLE(num));
}


